#include "myimgbtn.h"


#if 0
static void imgbtn_1(void)
{
    //指定图片源
    LV_IMG_DECLARE(xj_icon);
    LV_IMG_DECLARE(xjx_icon);
    //创建图片按钮部件
    lv_obj_t  *imageButton = lv_imgbtn_create(lv_scr_act());
    lv_obj_center(imageButton);                                                 // 图片按钮部件居中对齐
    lv_obj_set_size(imageButton, xj_icon.header.w, xj_icon.header.h);           // 设置图片按钮部件的尺寸
    lv_imgbtn_set_src(imageButton, LV_IMGBTN_STATE_RELEASED, NULL, &xj_icon, NULL);;      // 设置图片按钮部件释放时的图片源
    lv_imgbtn_set_src(imageButton, LV_IMGBTN_STATE_PRESSED, NULL, &xjx_icon, NULL);;       // 设置图片按钮部件按下时的图片源
    //设置按钮状态
    lv_imgbtn_set_state(imageButton, LV_IMGBTN_STATE_PRESSED);				/* 设置按下状态 */
}
#endif


static uint8_t set_mode_state = 0; 

static void set_event_cb(lv_event_t *e)
{
    lv_obj_t *target = lv_event_get_target(e);                              /* 获取触发源 */

    if(set_mode_state == 0)                                                 /* 判断按钮状态，如果为0，即关闭状态 */
    {
        set_mode_state = 1;                                                 /* 切换按钮状态 */
        lv_obj_set_style_img_recolor_opa(target, LV_OPA_50, 0);                   /* 设置图片重新着色透明度 */
        lv_obj_set_style_img_recolor(target, lv_color_hex(0x00a9ff), 0);    /* 设置图片重新着色：蓝色 */
        printf("打开\n");
    }
    else                                                                    /* 按钮为开启状态 */
    {
        set_mode_state = 0;                                                 /* 切换按钮状态 */
        lv_obj_set_style_img_recolor_opa(target, LV_OPA_50, 0);                   /* 设置图片重新着色透明度 */
        lv_obj_set_style_img_recolor(target, lv_color_hex(0x8a8a8a), 0);    /* 设置图片重新着色：灰色 */
        printf("关闭\n");
    }
}

static void imgbtn_2(void)
{
    //创建图片按钮部件
    LV_IMG_DECLARE(xj_icon);
    LV_IMG_DECLARE(xjx_icon);
    lv_obj_t  *imageButton = lv_imgbtn_create(lv_scr_act());
    lv_obj_center(imageButton);                                                 // 图片按钮部件居中对齐
    lv_obj_set_size(imageButton, xj_icon.header.w, xj_icon.header.h);           // 设置图片按钮部件的尺寸

    lv_imgbtn_set_src(imageButton, LV_IMGBTN_STATE_RELEASED, NULL, &xj_icon, NULL);;      // 设置图片按钮部件释放时的图片源
    lv_imgbtn_set_src(imageButton, LV_IMGBTN_STATE_PRESSED, NULL, &xjx_icon, NULL);;       // 设置图片按钮部件按下时的图片源

    lv_imgbtn_set_state(imageButton, LV_IMGBTN_STATE_PRESSED);
    lv_obj_add_event_cb(imageButton, set_event_cb, LV_EVENT_PRESSED, NULL);
}


void myimgbtn_example(void)
{
    imgbtn_2();
}

